Skip to content

GH-47784: [C++] Patch vendored pcg library to enable msvc arm64 intrinsics#47779

Merged
pitrou merged 1 commit intoapache:mainfrom
jgiannuzzi:windows-arm64-cpp
Oct 15, 2025
Merged

GH-47784: [C++] Patch vendored pcg library to enable msvc arm64 intrinsics#47779
pitrou merged 1 commit intoapache:mainfrom
jgiannuzzi:windows-arm64-cpp

Conversation

@jgiannuzzi
Copy link
Contributor

@jgiannuzzi jgiannuzzi commented Oct 10, 2025

Rationale for this change

This change enables building Arrow C++ for Windows ARM64 with MSVC when setting ARROW_SIMD_LEVEL to NONE. This is useful to be able to build Arrow with vcpkg and use it as a dependency.

Setting ARROW_SIMD_LEVEL to NONE is done to disable the use of xsimd, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix.

What changes are included in this PR?

A patch to the vendored pcg library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged.

Are these changes tested?

Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for vcpkg, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with vcpkg).

Are there any user-facing changes?

Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing?

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants